package com.zxj.system.service.question;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zxj.common.core.domain.vo.PageVO;
import com.zxj.system.domain.question.dto.QuestionAddDTO;
import com.zxj.system.domain.question.dto.QuestionPageQueryDTO;
import com.zxj.system.domain.question.dto.QuestionUpdateDTO;
import com.zxj.system.domain.question.entity.Question;
import com.zxj.system.domain.question.vo.QuestionDetailVO;
import com.zxj.system.domain.question.vo.QuestionVO;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zxj2022
 * @since 2024-12-24
 */
public interface IQuestionService extends IService<Question> {

    /**
     * 分页查询
     * @param questionPageQueryDTO 分页查询条件
     * @return 分页查询结果
     */
    PageVO<QuestionVO> pageQuery(QuestionPageQueryDTO questionPageQueryDTO);

    /**
     * 添加问题
     * @param questionAddDTO
     * @return
     */
    boolean add(QuestionAddDTO questionAddDTO);

    /**
     * 依据问题ID问题详情
     * @param questionId 问题ID
     * @return 问题详情
     */
    QuestionDetailVO detail(Long questionId);

    /**
     * 更新问题
     * @param questionUpdateDTO
     * @return
     */
    boolean updateQuestion(QuestionUpdateDTO questionUpdateDTO);

    /**
     * 删除问题
     * @param questionId 问题ID
     * @return 是否删除成功
     */
    boolean delete(Long questionId);
}
